Embodiments of the present invention relate to text and graphical data user interfaces. More particularly, embodiments of the present invention relate to displaying and scrolling a data structure.
Modem computers and data processing devices typically utilize displays such as CRT""s (Cathode Ray Tubes) and LCD""s (Liquid Crystal Displays) to display text and graphics data. A user interacts with an application program that allows the creation, viewing and/or editing of a data file or document on the display device. Data files or documents often contain a large amount of text and graphics data that cannot be displayed simultaneously on a display.
Computing devices typically can execute a technique known as scrolling to permit a user to navigate through a document. Scrolling is an operation in which a user issues commands to a computing device to instruct it to display a particular portion of data on a display. The user scrolls a document by issuing commands through a keyboard or mouse. Known scrolling controls include a scroll bar, consisting of an icon displayed on the display, that allows the user to instruct the computer (via a pointing device such as a mouse) to display a different portion of the document. Conventional scrolling controls provide a range of functionality, typically allowing the user to scroll data up, down, left or right.
FIG. 1 illustrates a display of data in a known scrolling user interface. Typically the user interface depicted in FIG. 1 may be implemented in a Windows(copyright) graphical user interface environment but can also be applicable to a non-Windows(copyright) environment. In one embodiment, the known user interface is a graphical user interface (GUI). The user interface depicted in FIG. 1 includes an arrangement of control icons for performing scrolling operations. Window 105 includes a plurality of display areas 110, a left scrolling button 150, a right scrolling button 170, and a horizontal scrolling bar 160 within a horizontal scrolling field 161. When a user selects either left scrolling button 150 or right scrolling button 170 by clicking on the respective scrolling button using a mouse, contents of window 105 can scroll in the respective direction. Window 105, as shown in FIG. 1, includes data displayed in cells (e.g., display areas) corresponding to rows 12 through 23 and columns C through E. The position of the horizontal scroll bar 160 (e.g., neither at the leftmost position within horizontal scrolling field 161 nor at the rightmost position within horizontal scrolling field 161, etc.) shows that additional data can be displayed to the left (e.g., a column B, a column A, not shown in FIG. 1) and to the right (e.g., a column F, a column G, not shown in FIG. 1). The user may also scroll window 105 by clicking and dragging horizontal scrolling bar 160 within horizontal scrolling field 161 in the desired direction of scrolling.
The known user interface illustrated in FIG. 1 can display hierarchical data, non-hierarchical data, etc. An example of hierarchical data includes music data (e.g., artist, album and song data), and an example of non-hierarchical data includes e-mail data (e.g., e-mail sender, e-mail subject, e-mail date, e-mail time, etc.). FIG. 1 shows that each of the data of the displayed cells of columns C and D are displayed in the entirety (e.g., each of data xe2x80x9cABCDEFGHIJKLMNOPxe2x80x9d, xe2x80x9c123456789ABCDEFGxe2x80x9d, xe2x80x9cAGB@research.att.comxe2x80x9d, xe2x80x9cWatson, I need you!xe2x80x9d, xe2x80x9cAlexander G. Bellxe2x80x9d, xe2x80x9cFlorham Park, N.J.xe2x80x9d is fully displayed). The data of the displayed cells of column E are not displayed in their entirety. Due to display constraints (e.g., a displayed size of window 105, a size of a display device on which window 105 is displayed, a width of a displayed column, etc.), less than the entirety of the data of the displayed cells of column E are displayed (e.g., only xe2x80x9cNoxe2x80x9d of xe2x80x9cNov. 30, 1995xe2x80x9d is displayed, only xe2x80x9cFexe2x80x9d of xe2x80x9cFeb. 27, 1997xe2x80x9d is displayed, only xe2x80x9cMaxe2x80x9d of xe2x80x9cMay 20, 1999xe2x80x9d is displayed).
FIG. 2 shows another illustration of the known scrolling user interface and data displayed in FIG. 1. In FIG. 2, the column widths of columns C, D, and E have been resized such that certain of the data of the displayed cells are not displayed in their entirety (e.g., only xe2x80x9cWatson, I needxe2x80x9d of xe2x80x9cWatson, I need you!xe2x80x9d is displayed, etc.). As compared to FIG. 1, a smaller proportion of each data of the displayed cells of columns C and D is displayed, while a greater proportion of each data of the displayed cells of column E is displayed. FIG. 3 illustrates a display of data in the known scrolling user interface after a one column scrolling operation with respect to the display of data in FIG. 2. After a user has instructed the known scrolling user interface to implement a one column scrolling operation (e.g., by clicking on the right scrolling button 170, by moving horizontal scrolling button 160 to the right within horizontal scrolling field 161, etc.), the data of column C are no longer displayed and the data of column F can be displayed. In view of the foregoing, it can be appreciated that a substantial need exists for methods and apparatus which can advantageously scroll displayed data.
Embodiments of the present invention encompass apparatus and methods to scroll a plurality of data. A first portion of a first data can be displayed within a first display area, and a first portion of a second data can be displayed within a second display area. A cell scrolling instruction may be received, and a cell scrolling display value may be determined based at least in part on the received cell scrolling instruction. A second portion of the first data can be selected based at least in part on the cell scrolling display value, and a second portion of the second data can be selected based at least in part on the cell scrolling display value. The second portion of the first data can be displayed within the first display area, and the second portion of the second data can be displayed within the second display area.